package com.fram.service.api.v1;

import java.util.List;

import com.fram.bean.api.project.request.CategoryRequest;
import com.fram.bean.api.project.request.OrderCommentRequest;
import com.fram.bean.api.project.request.ProjectGoodsSearchRequest;
import com.fram.bean.api.project.response.CategoryResponse;
import com.fram.bean.api.project.response.OrderCommentResponse;
import com.fram.bean.api.project.response.ProjectGoodsDetailResponse;
import com.fram.bean.api.project.response.ProjectGoodsSearchResponse;
import com.fram.bean.sys.PageBean;
import com.fram.common.exception.ProAffairException;
import com.fram.common.exception.ProException;
import com.github.pagehelper.PageInfo;

/** 商品展示 **/
public interface ProjectService {

	/**
	 * 分页 模糊查询 分类查询 地区查询
	 * 
	 * @throws ProException
	 */
	public PageInfo<ProjectGoodsSearchResponse> queryProjectGoodsList(PageBean<ProjectGoodsSearchRequest> bean) throws ProException;

	/**
	 * @param distributorId
	 * @return 根据前端传过来的 类型 父 子 id 查询所有商品
	 * @throws ProException
	 */
	public List<CategoryResponse> selectProductCategoryList(CategoryRequest request) throws ProException;

	/**
	 * 根据id 查询商品详情
	 * 
	 * @param id
	 * @return
	 */
	public ProjectGoodsDetailResponse projectGoodsDetail(Long id, Long userId) throws ProException;

	/**
	 * @作者：陳曉鬆 @时间：2020年6月10日 下午4:52:54 @版本：V1.0 @description：-> 商品评论查询
	 */
	public PageInfo<OrderCommentResponse> projectComment(PageBean<OrderCommentRequest> request) throws ProException;

	/**
	 * @作者：陳曉鬆 @时间：2020年10月29日 上午11:27:44 @版本：V1.0 @description：-> 产品上下架
	 */
	public void projectStatus(Long adminUserId, Long goodsId, Integer status) throws ProAffairException;

}
